package com.example.user.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.common.api.ResultUtil;
import com.example.user.model.po.AddressPO;
import com.example.user.model.vo.AddressVO;
import reactor.core.publisher.Mono;

import java.util.concurrent.ExecutionException;

public interface IAddressService extends IService<AddressPO> {

    Mono<ResultUtil> createAddress(AddressVO addressVO);

    ResultUtil updateAddress(AddressVO addressVO);

    ResultUtil deleteAddress(Long id);

    Mono<ResultUtil> getAddressByPage(int pageIndex, int pageSize) throws ExecutionException, InterruptedException;

    ResultUtil getAddressById(Long id);

    Mono<ResultUtil> getAddressByUserId();
}
